﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Clandestine.Battle.Spells
{
    public enum SpellType
    {
        Arcane,
        Divine
    }
    public abstract class Spell
    {
        public abstract string Name { get; }
        public abstract int MPCost { get; }
        public const int SpellRingDuration = 500;

        public virtual void OnShowSpellRing()
        {
            // Overload to change alpha/colour etc.
            // For now this will just block (and do nothing) until it's finished.
            // Atm this is in both SingleTargetSpell and MultipleTargetSpell, remember to update!
            Ticker.AddTimer(null, SpellRingDuration);
        }

        public abstract BattleAnimation Cast(Combatant caster, Combatant[] targets);
    }
}
